package org.wu.framework.lazy.orm.core.config;

import java.util.List;

/**
 * describe LazyOperationAttribute 配置
 *
 * @author Jia wei Wu
 * @date 2022/1/23 3:46 下午
 **/
public interface LazyOperationAttribute {


    String LAZY_OPERATION_CONFIG_PREFIX = "spring.lazy";


    boolean isPrintfQuery();


    void setPrintfQuery(boolean printfQuery);

    boolean isEnableAutoSchema();

    void setEnableAutoSchema(boolean enableAutoSchema);

    List<String> getIgnoredDatabase();

    void setIgnoredDatabase(List<String> ignoredDatabase);

    List<String> getFillIgnoredFields();

    void setFillIgnoredFields(List<String> fillIgnoredFields);

    Long getFillMaximum();

    void setFillMaximum(Long fillMaximum);

    boolean isEnableReverseEngineering();

    void setEnableReverseEngineering(boolean enableReverseEngineering);

    ReverseEngineering getReverseEngineering();

    void setReverseEngineering(ReverseEngineering reverseEngineering);


    /**
     * 获取事件队列名称
     *
     * @return 事件队列名称
     */
    String getEventQueueName();

    /**
     * 设置事件队列名称
     *
     * @param eventQueueName 事件队列名称
     */
    void setEventQueueName(String eventQueueName);

}
